package com.hxzy.shop.dto.coupon.req;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author ht
 * @Date 2021/7/7 17:34
 * @Version 1.0
 */
@Data
public class CouponEditReq implements Serializable {
    @NotNull(message = "优惠券id不能为空")
    @ApiModelProperty(value = "优惠券id")
    private Long couponId;

    /**
     * 优惠券类型 1满减券  2 折扣券
     */
    @ApiModelProperty(value = "优惠券类型 1满减券  2 包邮券")
    private Integer couponType;

    /**
     * 优惠券名称
     */
    @ApiModelProperty(value = "优惠券名称")
    private String couponName;

    /**
     * 库存
     */
    @ApiModelProperty(value = "库存")
    private Integer stock;

    /**
     * 开始有效期
     */
    @ApiModelProperty(value = "开始有效期")
    private Date startTime;

    /**
     * 结束有效期
     */
    @ApiModelProperty(value = "结束有效期")
    private Date endTime;

    /**
     * 领取人群状态 1 全体人员 2会员等级
     */
    @ApiModelProperty(value = "领取人群状态 1 全体人员 2会员等级")
    private Integer statusOfRecipients;

    /**
     * 会员等级id
     */
    @ApiModelProperty(value = "会员等级id")
    private String memberCardId;

    /**
     * 每人领取状态 1 不限制 2 限制
     */
    @ApiModelProperty(value = "每人领取状态 1 不限制 2 限制")
    private Integer receivingStatusEachPerson;

    /**
     * 每人限领张数
     */
    @ApiModelProperty(value = "每人限领张数")
    private Integer limitedNumberTickets;

    /**
     * 公开性  true公开 false 不公开
     */
    @ApiModelProperty(value = "公开性  true公开 false 不公开")
    private Boolean publicity;

    /**
     * 可使用商品状态 true全部商品 false部分商品
     */

    @ApiModelProperty(value = "可使用商品状态 true全部商品 false部分商品")
    private Boolean availableCommodityStatus;


    /**
     * 限制金额
     */
    @ApiModelProperty(value = "门槛金额")
    private BigDecimal limitedAmount;

    /**
     * 优惠金额
     */
    @ApiModelProperty(value = "优惠金额")
    private BigDecimal preferentialAmount;

    /**
     * 是否分享劵  true 是 false 不是
     */
    @ApiModelProperty(value = "是否分享劵  true 是 false 不是")
    private Boolean shareCoupon;


    /**
     * 领取说明
     */
    @ApiModelProperty(value = "领取说明")
    private String receivingInstructions;

    /**
     * 优惠说明
     */
    @ApiModelProperty(value = "优惠说明")
    private String offerDescription;

    /**
     * 使用须知
     */
    @ApiModelProperty(value = "使用须知")
    private String instructionsForUse;


    @ApiModelProperty(value = "药品id集合")
    private List<Long> drugIds;

    /**
     * 是否开启会员权益0未开启，1已开启
     */
    @ApiModelProperty(value = "是否开启会员权益0未开启，1已开启")
    private Integer isRights;

    @ApiModelProperty(value = "领取人群 1全部人群 2新用户")
    private Integer recipients;
    @ApiModelProperty(value = "1.优惠卷中心 2.会员赠送 3.积分商城 4.合约用药  5.瓜分券")
    private Integer pointCoupon;
    @ApiModelProperty(value = "有效期类型 1.限时有效 2.领取后X天有效")
    private Integer validityType;
    @ApiModelProperty(value = "有效期 天")
    private Integer validity;

}
